Connected components on distributed memory machines

نویسندگان

  • Arvind Krishnamurthy
  • Steven S. Lumetta
  • David E. Culler
  • Katherine A. Yelick
چکیده

The eeorts of the theory community to develop eecient PRAM algorithms often receive little attention from application programmers. Although there are PRAM algorithm implementations that perform reasonably on shared memory machines, they often perform poorly on distributed memory machines, where the cost of remote memory accesses is relatively high. We present a hybrid approach to solving the connected components problem , whereby a PRAM algorithm is merged with a sequential algorithm and then optimized to create an eecient distributed memory implementation. The sequential algorithm handles local work on each processor, and the PRAM algorithm handles interactions between processors. Our hybrid algorithm uses the Shiloach-VishkinCRCW PRAM algorithm on a partition of the graph distributed over the processors and sequential breadth-rst search within each local subgraph. The implementation uses the Split-C language developed at Berkeley, which provides a global address space and allows us to easily manipulate the distributed graph data structure. We present our rst version, then provide a detailed account of the optimizations used to create the nal version. For graphs from real-world problems, we obtain speedups on the order of 20 on a 32-processor CM-5 and 238 on a 512-processor CM-5.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Parallel Algorithm for Connected Components on Distributed Memory Machines

Finding connected components (CC) of an undirected graph is a fundamental computational problem. Various CC algorithms exist for PRAM models. An implementation of a PRAM CC algorithm on a coarse-grain MIMD machine with distributed memory brings many problems, since the communication overhead is substantial compared to the local computation. Several implementations of CC algorithms on distribute...

متن کامل

A Typical Verification Challenge for the GRID

The task of detecting the strongly connected components of a very large graph is at the heart of many software verification procedures, such as model checking and state space minimization. In this context, the graphs represent system behaviour, i.e. all states of a system and all state transitions that are reachable from a given initial state. This so-called state space can be prohibitively lar...

متن کامل

A Comparison of the Performance of List Ranking and Connected Components Algorithms on SMP and MTA Shared-Memory Systems

Irregular problems such as those from graph theory pose serious challenges for parallel machines due to non-contiguous accesses to global data structures with low degrees of locality. Few parallel graph algorithms on distributedor shared-memory machines can outperform their best sequential implementation due to long memory latencies and high synchronization costs. In this paper, we consider the...

متن کامل

Indigo: User-Level Support for Building Distributed Shared Abstractions

Distributed systems that consist of workstations connected by high performance interconnects ooer computational power comparable to moderate size parallel machines. Middleware like Distributed Shared Memory (DSM) or Distributed Shared Objects (DSO) attempts to improve the programmability of such hardware by presenting to application programmers interfaces similar to those ooered by shared memor...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1994